package entities;

import java.io.Serializable;
import java.util.List;
import javax.persistence.*;

@Entity
@Table(name="materiales")
public class MaterialBean implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	//declare------------------------------------------------------
	@Id
	@Column(name="codigoMat")
	private String codigo;	
	
	private String descripcion;
		
	@Column(name="stock")
	private int existencia;
	
	
	@ManyToMany
	@JoinTable(name="matpro",
			joinColumns=@JoinColumn(name="codigoMat"),
			inverseJoinColumns=@JoinColumn(name="codigoPro")
		)
	private List<ProveedorBean> proveedores;
	
	
	@OneToMany	
	@JoinColumn(name="codigoMat")
	private List<PrecioBean> precios;

	//------------------------------------------------------	
	public MaterialBean() {
	}

	//------------------------------------------------------	
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	

	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	

	public int getExistencia() {
		return existencia;
	}
	public void setExistencia(int existencia) {
		this.existencia = existencia;
	}
	

	public List<ProveedorBean> getProveedores() {
		return proveedores;
	}
	public void setProveedores(List<ProveedorBean> proveedores) {
		this.proveedores = proveedores;
	}

	
	public List<PrecioBean> getPrecios() {
		return precios;
	}
	public void setPrecios(List<PrecioBean> precios) {
		this.precios = precios;
	}
	//------------------------------------------------------
	
	public dto.Material toDTO()
	{
		dto.Material res = new dto.Material();
		res.setCodigo(this.codigo);
		res.setDescripcion(this.descripcion);	
		res.setExistencia(this.existencia);		
		return res;
	}
}
